System and method for overlaying a hierarchical network design on a full mesh network

ABSTRACT

A system and method are disclosed for overlaying a hierarchical network on a full mesh network. A system that incorporates teachings of the present disclosure may include, for example, a network element of a full mesh network ( 402 ) having a controller programmed to overlay ( 200, 400, 400 ) in part a hierarchical network on the full mesh network with an isolation protocol.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 11/254,523 filed Oct. 20, 2005 by Elias et al., entitled “SYSTEM AND METHOD FOR OVERLAYING A HIERARCHICAL NETWORK DESIGN ON A FULL MESH NETWORK”, which is incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to full mesh networks, and more specifically to a system and method for overlaying a hierarchical network on a full mesh network.

BACKGROUND

Full mesh networks as shown in FIG. 1 offer reliability and redundancy. If for instance, a network element can no longer operate, the rest of the network elements can still communicate with each other, directly or through one or more intermediate elements. The chief drawback of a mesh topology is the frequency and volume of communications resulting from routing updates.

Legacy network elements interconnected in a hierarchy of access, distribution, and core layers often do not have the computing and/or storage capacity to process routing updates in high volume as is often encountered in full mesh networks. Consequently, legacy network elements can inadvertently cause traffic congestion and/or packet losses when migrated to a full mesh network such as shown in FIG. 1.

A need therefore arises for a system and method for overlaying a hierarchical network on a full mesh network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a prior art full mesh packet network;

FIG. 2 depicts a flowchart of a method for overlaying a hierarchical network on a full mesh packet network according to teachings of the present disclosure;

FIG. 3 is a block diagram of a network that preserves a legacy hierarchy utilizing GRE (Generic Routing Encapsulation) tunnels according to teachings of the present disclosure;

FIG. 4 is a block diagram of a partial overlay of the hierarchical network of FIG. 3 on a full mesh packet network according to teachings of the present disclosure; and

FIG. 5 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein.

DETAILED DESCRIPTION

FIG. 2 depicts a flowchart of a method 200 for overlaying a hierarchical network on a full mesh packet network according to teachings of the present disclosure. Method 200 describes a process for overlaying a hierarchical network on a full mesh packet network with an isolation protocol applied to a portion of network elements in the full mesh packet network.

Method 200 thus begins with step 202 whereby the hierarchical network is migrated to a full mesh packet network such as an MPLS (Multi-Protocol Label Switching) network. Often customers of hierarchical networks want to preserve a legacy hierarchy as part of the migration process. Thus, the migration process conforms to this need in step 204. In step 206, the network elements of the hierarchical network are isolated from other network elements of the full mesh MPLS network with an isolation protocol such as the well-known GRE (Generic Routing Encapsulation) tunneling protocol established by Cisco Systems, Inc. It would be appreciated by those with ordinary skill in the art that any other isolation protocol existing at the time of this disclosure or in the future can be applied to the present disclosure. The GRE tunneling protocol will be the focus of the proceeding discussion for illustration purposes only, and should not be viewed as limiting the scope of the present disclosure.

The hierarchical network elements operating with GRE tunneling are isolated from routing updates produced by other network elements not associated with the legacy hierarchy. In addition, the hierarchical network elements operating with GRE tunnels do not broadcast routing updates to the rest of the full mesh network. Accordingly, the hierarchical network elements can exchange messages between the layers of the legacy hierarchy in step 208 much like they did prior to the migration. If a network fault is detected in step 210 in one or more of the GRE tunnels, the full mesh architecture of the MPLS network allows for recovery by updating in step 212 one or more of the preceding GRE tunnels to alternate GRE tunnels to mitigate the fault. This step can be performed by common automation means (such as by way of a network management system managing the legacy hierarchy in cooperation with the MPLS network) or manually by service personnel of the MPLS network or the hierarchical network of a particular customer.

FIG. 3 is a block diagram of a network 300 that preserves a legacy hierarchy utilizing GRE tunnels according to teachings of the present disclosure. Each network element 302, represented here as customer edge (CE) routers, is coupled hierarchically to another network element by way of a GRE tunnel 304. CEs 3 represent an access layer of the network, while CEs 2 and CE 1 represent a distribution and core layer, respectively. The access layer is where most of the customer interfaces exist. For example, an access layer can be coupled to restaurants in a franchise (e.g., McDonalds). The distribution layer serves as hubs to a number of these restaurants. The distribution layer connects to the core layer serving much like franchise's headquarters facility or primary center for data collection and communication exchange between the CEs.

Because of this hierarchy, the access routers (CEs 3) do not require a lot of complexity in computing or storage capacity since each is tailored for the needs of a particular restaurant. The distribution routers, on the other hand, require more capacity and computing resources since it serves several restaurants. The core router requires yet more computing and storage capacity. Typically, the ratio of complexity, and cost between the access, distribution and core layer router can vary by orders of magnitude.

FIG. 4 is a block diagram of a partial overlay of the hierarchical network of FIG. 3 on a full mesh MPLS packet network 402 according to teachings of the present disclosure. In this diagram, a CE router 404 is coupled to a PE router 406 of the MPLS network by way of a static routing protocol link 405. An end-to-end GRE tunnel 408 is created between CEs routers 1 and 2. By way of the GRE tunnel 408, CE routers 1 and 2 are isolated from other network elements of the full mesh MPLS network 402. Similarly, routing updates as well as communications taking place between the CE routers is kept isolated from network elements dissociated from the GRE tunnel 408. If a fault occurs in the first instance of the GRE tunnel 408, an alternate GRE tunnel can be established to bypass the fault as described earlier.

Thus in a full mesh MPLS network 408 such as shown in FIG. 4, a number of network elements each having a controller (such as a microprocessor and/or Digital Signal Processor with associated memory—not shown) can be programmed to perform its part in creating the hierarchical network of FIG. 3 in accordance with the steps of method 200. This architecture thus provides not only the added benefit of reusing legacy routers which do not have the resources for a full mesh network environment, but also provides a means for securing confidential communications from others sharing the MPLS network 400. This security can be further enhanced with the establishment of a VPN (Virtual Private Network) connection between the CE routers 1 and 2.

FIG. 5 is a diagrammatic representation of a machine in the form of a computer system 500 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed above. In some embodiments, the machine operates as a standalone device. In some embodiments, the machine may be connected (e.g., using a network) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a device of the present disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The computer system 500 may include a processor 502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 504 and a static memory 506, which communicate with each other via a bus 508. The computer system 500 may further include a video display unit 510 (e.g., a liquid crystal display (LCD), a flat panel, a solid state display, or a cathode ray tube (CRT)). The computer system 500 may include an input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), a disk drive unit 516, a signal generation device 518 (e.g., a speaker or remote control) and a network interface device 520.

The disk drive unit 516 may include a machine-readable medium 522 on which is stored one or more sets of instructions (e.g., software 524) embodying any one or more of the methodologies or functions described herein, including those methods illustrated above. The instructions 524 may also reside, completely or at least partially, within the main memory 504, the static memory 506, and/or within the processor 502 during execution thereof by the computer system 500. The main memory 504 and the processor 502 also may constitute machine-readable media. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.

In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.

The present disclosure contemplates a machine readable medium containing instructions 524, or that which receives and executes instructions 524 from a propagated signal so that a device connected to a network environment 526 can send or receive voice, video or data, and to communicate over the network 526 using the instructions 524. The instructions 524 may further be transmitted or received over a network 526 via the network interface device 520.

While the machine-readable medium 522 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.

The term “machine-readable medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape; and carrier wave signals such as a signal embodying computer instructions in a transmission medium; and/or a digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a machine-readable medium or a distribution medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.

Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.

The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter. 

1. A method, comprising: applying an isolation protocol to a portion of network elements of a full mesh packet network to create a hierarchical configuration on the full mesh packet network, the isolation protocol comprising isolating the portion of the network elements from remaining network elements to generate a first end-to-end tunnel; monitoring for an undesired condition in the full mesh packet network; and establishing a second end-to-end tunnel over the full mesh packet network using other networks elements of the remaining network elements, wherein the second end-to-end tunnel is established in response to detecting the undesired condition, wherein the other network elements are selected in response to detecting the undesired condition, and wherein the other network elements had different network connections from the portion of network elements that were replaced.
 2. The method of claim 1, comprising establishing the second end-to-end tunnel between first and second customer edge routers.
 3. The method of claim 2, comprising connecting the first and second customer edge routers to the full mesh packet network using first and second provider edge routers.
 4. The method of claim 1, wherein the hierarchical configuration has a legacy hierarchy, and wherein the method comprises the step of preserving the legacy hierarchy in the full mesh packet network.
 5. The method of claim 1, wherein the isolation protocol comprises a GRE (Generic Routing Encapsulation) tunnel.
 6. The method of claim 1, comprising selecting the portion of the network elements that have computing resources which are less than the computing resources of a portion of the remaining network elements.
 7. The method of claim 6, wherein the hierarchical configuration comprises an access layer, a distribution layer, and a core layer, and wherein the method comprises the step of exchanging messages between layers by way of GRE tunnels.
 8. The method of claim 1, comprising separating routing updates of network elements associated with the hierarchical configuration from network elements disassociated with the hierarchical configuration.
 9. A non-transitory computer readable storage medium encoded with computer executable instructions for: applying an isolation protocol to a portion of network elements of a network to create a hierarchical configuration on the network, the isolation protocol comprising isolating the portion of the network elements from remaining network elements to generate a first end-to-end tunnel; and establishing a second end-to-end tunnel over the network using other networks elements of the remaining network elements, wherein the other network elements are selected that have computing resources which are less than the computing resources of a portion of the remaining network elements.
 10. The storage medium of claim 9, wherein the other network elements had different network connections from the portion of network elements that were replaced.
 11. The storage medium of claim 9, comprising computer instructions for: monitoring for an undesired condition in the network; and establishing the second end-to-end tunnel in response to detecting the undesired condition.
 12. The storage medium of claim 9, wherein the network is a Multi-Protocol Label Switching (MPLS) network.
 13. The storage medium of claim 12, wherein the hierarchical configuration has a legacy hierarchy, and wherein the method comprises preserving the legacy hierarchy in the MPLS network.
 14. The storage medium of claim 9, wherein the isolation protocol comprises a GRE (Generic Routing Encapsulation) tunnel.
 15. The storage medium of claim 9, comprising computer instructions for separating communications of network elements associated with the hierarchical configuration from network elements disassociated with the hierarchical configuration.
 16. A server in communication with a full mesh network, comprising a controller programmed to: apply an isolation protocol to a portion of network elements of the full mesh network to create a hierarchical configuration on the full mesh network, the isolation protocol comprising isolating the portion of the network elements from remaining network elements to generate a first end-to-end tunnel; and establish a second end-to-end tunnel over the full mesh network using other networks elements of the remaining network elements, wherein the other network elements had different network connections from the portion of network elements that were replaced.
 17. The server of claim 16, wherein the controller is programmed to select the other network elements based on the other network elements having computing resources which are less than the computing resources of a portion of the remaining network elements.
 18. The server of claim 16, wherein the controller is programmed to: obtain information associated with an undesired condition in the full mesh network; and establish the second end-to-end tunnel in response to the undesired condition.
 19. The server of claim 16, wherein the isolation protocol comprises a GRE tunnel, and wherein the controller is programmed to disassociate itself with network elements not associated with the hierarchical configuration.
 20. The server of claim 16, wherein the network elements comprise at least one among a customer edge router, and a provider edge router. 